package cn.fl.spdealer.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.spdealer.vo.SplCommBasicVO;
import sp.dealer.facade.dealer.dto.SplCommBasicDTO;


 /**
 * @Description: 工商基本登记信息 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class SplCommBasicVOTransform {


	/**
	 * DTO 转  VO
	 * @param po SplCommBasicDTO
	 * @return SplCommBasicVO
	 */
	public static SplCommBasicVO toVO(SplCommBasicDTO dto) {
		SplCommBasicVO  vo = null;
		if (dto != null) { 
			vo = new SplCommBasicVO();
			vo.setId(dto.getId());
			vo.setSplId(dto.getSplId());//经销商、挂靠公司ID
			vo.setSplType(dto.getSplType());//经销商、挂靠公司类型（经销商：2      挂靠公司：3）
			vo.setSeqNo(dto.getSeqNo());//序列号
			vo.setEntname(dto.getEntname());//企业名称  当结果为组织机构（非企业）时，返回：组织机构名称-JGMC
			vo.setUsername(dto.getUsername());//法定代表人/负责人/执行事务合伙人 当结果为组织机构（非企业）时，返回：法人代表姓名-FDDBR
			vo.setRegno(dto.getRegno());//注册号
			vo.setEntorgcode(dto.getEntorgcode());//组织机构代码 当结果为组织机构（非企业）时，返回：组织机构代码-JGDM
			vo.setProvince(dto.getProvince());//所在省份 当结果为组织机构（非企业）时，返回：行政区划-XZQH
			vo.setOffareacode(dto.getOffareacode());//注册地址行政区编号
			vo.setRegorg(dto.getRegorg());//登记机关  当结果为组织机构（非企业）时，返回：办证机构-BZJG
			vo.setAddress(dto.getAddress());//住址 当结果为组织机构（非企业）时，返回：机构地址-JGDZ
			vo.setEnttype(dto.getEnttype());//企业(机构)类型  当结果为组织机构（非企业）时，返回：机构类型-JGLX
			vo.setRunstatus(dto.getRunstatus());//经营状态 当结果为组织机构（非企业）时，返回：质疑标志-ZYBZ
			vo.setOpendate(dto.getOpendate());//开业日期 当结果为组织机构（非企业）时，返回：代码证办证日期-BZRQ
			vo.setCanceldate(dto.getCanceldate());//注销日期
			vo.setRevokedate(dto.getRevokedate());//吊销日期 当结果为组织机构（非企业）时，返回：代码证作废日期-ZFRQ
			vo.setRegcapcur(dto.getRegcapcur());//注册资本币种
			vo.setRegcapamt(dto.getRegcapamt());//注册资本(万元)
			vo.setFctcapamt(dto.getFctcapamt());//实收资本(万元)
			vo.setRundatefrom(dto.getRundatefrom());//经营期限自 当结果为组织机构（非企业）时，返回：注册日期-ZCRQ
			vo.setRundateto(dto.getRundateto());//经营期限至
			vo.setIndustrycode(dto.getIndustrycode());//行业门类代码
			vo.setIndustryname(dto.getIndustryname());//行业门类名称
			vo.setCocode(dto.getCocode());//国民经济行业代码
			vo.setConame(dto.getConame());//国民经济行业名称
			vo.setAllrunitem(dto.getAllrunitem());//许可经营项目
			vo.setRunitem(dto.getRunitem());//一般经营项目
			vo.setBusiscope1(dto.getBusiscope1());//经营(业务)范围
			vo.setBusiscope2(dto.getBusiscope2());//经营(业务)范围及方式
			vo.setCreditcode(dto.getCreditcode());//统一社会信用代码
			vo.setDetail(dto.getDetail());//当按企业全称查询，查询的结果为组织机构（非企业），如：学校名称(贝贝幼儿园)时，此时会返回多条机构明细，且照面信息只有企业名称（即查询的机构名称）非空，其他为空

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto SplCommBasicVO
	 * @return SplCommBasicDTO
	 */
	public static SplCommBasicDTO toDTO(SplCommBasicVO vo) {
		SplCommBasicDTO dto = null;
		if (vo != null) {
			dto = new SplCommBasicDTO();
			dto.setId(vo.getId());
			dto.setSplId(vo.getSplId());//经销商、挂靠公司ID
			dto.setSplType(vo.getSplType());//经销商、挂靠公司类型（经销商：2      挂靠公司：3）
			dto.setSeqNo(vo.getSeqNo());//序列号
			dto.setEntname(vo.getEntname());//企业名称  当结果为组织机构（非企业）时，返回：组织机构名称-JGMC
			dto.setUsername(vo.getUsername());//法定代表人/负责人/执行事务合伙人 当结果为组织机构（非企业）时，返回：法人代表姓名-FDDBR
			dto.setRegno(vo.getRegno());//注册号
			dto.setEntorgcode(vo.getEntorgcode());//组织机构代码 当结果为组织机构（非企业）时，返回：组织机构代码-JGDM
			dto.setProvince(vo.getProvince());//所在省份 当结果为组织机构（非企业）时，返回：行政区划-XZQH
			dto.setOffareacode(vo.getOffareacode());//注册地址行政区编号
			dto.setRegorg(vo.getRegorg());//登记机关  当结果为组织机构（非企业）时，返回：办证机构-BZJG
			dto.setAddress(vo.getAddress());//住址 当结果为组织机构（非企业）时，返回：机构地址-JGDZ
			dto.setEnttype(vo.getEnttype());//企业(机构)类型  当结果为组织机构（非企业）时，返回：机构类型-JGLX
			dto.setRunstatus(vo.getRunstatus());//经营状态 当结果为组织机构（非企业）时，返回：质疑标志-ZYBZ
			dto.setOpendate(vo.getOpendate());//开业日期 当结果为组织机构（非企业）时，返回：代码证办证日期-BZRQ
			dto.setCanceldate(vo.getCanceldate());//注销日期
			dto.setRevokedate(vo.getRevokedate());//吊销日期 当结果为组织机构（非企业）时，返回：代码证作废日期-ZFRQ
			dto.setRegcapcur(vo.getRegcapcur());//注册资本币种
			dto.setRegcapamt(vo.getRegcapamt());//注册资本(万元)
			dto.setFctcapamt(vo.getFctcapamt());//实收资本(万元)
			dto.setRundatefrom(vo.getRundatefrom());//经营期限自 当结果为组织机构（非企业）时，返回：注册日期-ZCRQ
			dto.setRundateto(vo.getRundateto());//经营期限至
			dto.setIndustrycode(vo.getIndustrycode());//行业门类代码
			dto.setIndustryname(vo.getIndustryname());//行业门类名称
			dto.setCocode(vo.getCocode());//国民经济行业代码
			dto.setConame(vo.getConame());//国民经济行业名称
			dto.setAllrunitem(vo.getAllrunitem());//许可经营项目
			dto.setRunitem(vo.getRunitem());//一般经营项目
			dto.setBusiscope1(vo.getBusiscope1());//经营(业务)范围
			dto.setBusiscope2(vo.getBusiscope2());//经营(业务)范围及方式
			dto.setCreditcode(vo.getCreditcode());//统一社会信用代码
			dto.setDetail(vo.getDetail());//当按企业全称查询，查询的结果为组织机构（非企业），如：学校名称(贝贝幼儿园)时，此时会返回多条机构明细，且照面信息只有企业名称（即查询的机构名称）非空，其他为空

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<SplCommBasicDTO>
	 * @return List<SplCommBasicVO>
	 */
	public static List<SplCommBasicVO> toVOList(List<SplCommBasicDTO> list) {
		List<SplCommBasicVO>  voList = new ArrayList<SplCommBasicVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplCommBasicDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<SplCommBasicVO>
	 * @return List<SplCommBasicDTO>
	 */
	public static List<SplCommBasicDTO> toDTOList(List<SplCommBasicVO> list) {
		List<SplCommBasicDTO>  dtoList = new ArrayList<SplCommBasicDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplCommBasicVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
